#ifndef  _INNER_VOICE_H
#define _INNER_VOICE_H
typedef struct stru_inner_voice_cmd_regist
{
    uint8_t inner_voice_cmd_number_offset;//零
    uint8_t inner_voice_cmd_ten;//十
    uint8_t inner_voice_cmd_hundred;//百
    uint8_t inner_voice_cmd_time;//次
    uint8_t inner_voice_cmd_spot;//点

    uint8_t inner_voice_cmd_mm_hg;//毫米汞柱
    uint8_t inner_voice_cmd_kilopascal;//千帕
}stru_inner_voice_cmd_regist_t;

typedef enum e_inner_voice_cmd
{
    INNER_CMD_PLEASE_REMAIN_QUIET_KEEP_CUFFS_SAME_HEIGHT_HEART_POSITION = 1,//请保持安静，将袖带与心脏位置保持同高
    INNER_CMD_YOUR_LAST_THREE,//您最近三次的
    INNER_CMD_MATCH_YOUR_WRISTBAND_PROPERLY_ACCORDING_LABEL_KEEP_SAME_HEIGHT_YOUR_HEART,//将您的腕带,按照标示,配带妥当.并同心脏保持同高 .
    INNER_CMD_INSUFFICIENT_POWER,//电力不足
    INNER_CMD_PLEASE_REPLACE_THE_BATTERY,//请更换电池
    INNER_CMD_WRIST_POSITION_INCORRECT_PLEASE_READJUST_WRIST_MAINTAIN_HEIGHT_HEART,//手腕位置不正确,请重新调整手腕,并同心脏保持同高
    INNER_CMD_PLEASE_REMAIN_QUIET_PREPARE_START_MEASURING_BLOOD_PRESSURE_NOW,//请保持安静,现在准备开始测量血压
    INNER_CMD_HIGH_PRESSURE_IS,//高压是
    INNER_CMD_LOW_PRESSURE_IS,//低压是
    INNER_CMD_MEAN_BLOOD_PRESSURE,//平均血压
    INNER_CMD_NUMBER_HEARTBEATS_PER_MINUTE_IS,//每分钟心跳次数是
    INNER_CMD_MILLIMETRE_OF_MERCURY,//毫米汞柱
    INNER_CMD_KILOPASCAL,//千帕
    INNER_CMD_SPOT,//点
    INNER_CMD_TIMES,//次
    INNER_CMD_ACCORDING_TO_WORLD_HEALTH_ORGANIZATION_STANDARDS,//根据世界卫生组织标准
    INNER_CMD_YOUR_BLOOD_PRESSURE,//您的血压
    INNER_CMD_NORMAL,//正常
    INNER_CMD_NORMAL_TO_HIGH,//正常值偏高
    INNER_CMD_MILD_HYPERTENSION,//轻度高血压
    INNER_CMD_MODERATE_HYPERTENSION,//中度高血压
    INNER_CMD_SEVERE_HYPERTENSION,//重度高血压
    INNER_CMD_VALUE_MAINTAINED_SEVERAL_CONSECUTIVE_DAYS_PLEASE_CONSULT_YOUR_PHYSICIAN_PROMPTLY,//若连续几天都维持这数值,请恰询您的医师
    INNER_CMD_ERROR_DETECTED_DURING_MEASUREMENT_PLEASE_REST_TWO_MINUTES_BEFORE_REMEASURING,//测量时侦测到错误,请休息兩分钟后,再重新量测
    INNER_CMD_PLEASE_NOTE_ARRHYTHMIA_DETECTED_DURING_MEASUREMENT,//请注意,此次量测有侦测到心率不齐,请按指示重新量测.如连续三次均测出心律不齐，请恰询您的医师。
    INNER_CMD_THANK_YOU_FOR_USING_WISHING_YOU_GOOD_HEALTH,//谢谢您的使用,祝您健康
    INNER_CMD_ZERO,//0
// 1//1
// 2//2
// 3//3
// 4//4
// 5//5
// 6//6
// 7//7
// 8//8
// 9//9
    INNER_CMD_TEN = INNER_CMD_ZERO + 10,//+
    INNER_CMD_HUNDRED,//百
    INNER_CMD_REMIND_YOU_PREPARE_MEASUREMENT_START_MEASURING_5_MINUTES,			//提醒您做好测量准备，5分钟后开始测量
    INNER_CMD_YOUR_BLOOD_PRESSURE_HAS_REACHED_A_DANGEROUS_LEVEL,			//您的血压达到了危险值，请您保持休息并作出相应措施.
    INNER_CMD_MATCH_YOUR_CUFFS_PROPERLY_ACCORDING_LABEL_KEEP_THEM_SAME_HEIGHT_YOUR_HEART,			//将您的袖带,按照标示,配带妥当.并同心脏保持同高 .

} e_inner_voice_cmd_typedef;

typedef enum e_inner_voice_pres_unit // 血压单位
{
    INNER_VOICE_PRES_UNIT_MMG = 0,
    INNER_VOICE_PRES_UNIT_KPA,
    INNER_VOICE_PRES_UNIT_HEARTBEAT, // 特殊处理 心跳次数

}e_inner_voice_pres_unit_t;

extern stru_inner_voice_cmd_regist_t stru_inner_voice_cmd_china_vb044;

#define SHUTDOWN_PIN_HIGHT  GPIO_WriteOutputDataBit(GPIO4,GPIO_Pin_6,Bit_SET)///shutdown 引脚 高电平使能
#define SHUTDOWN_PIN_LOW    GPIO_WriteOutputDataBit(GPIO4,GPIO_Pin_6,Bit_RESET)///shutdown 引脚

void inner_voice_init(void);
void AUD_Voice_Data(uint32_t start_addr,uint32_t stop_addr);
void inner_voice_table_play(e_inner_voice_cmd_typedef voice_position);
void inner_voice_devide_number_pro(stru_inner_voice_cmd_regist_t inner_voice_cmd,e_inner_voice_pres_unit_t e_pres_unit, u16 number);
void inner_voice_send_combine_cmd_server(void);
void inner_voice_gpio_init(void);


void inner_voice_one_cmd(uint16_t inner_voice_cmd);
void inner_voice_combine_cmd_pro(e_inner_voice_pres_unit_t e_pres_unit, u8 sys, u8 dia, u8 pul);
void inner_voice_who(u8 wholevel);
void user_timer1_init(void);
void it_buf_to_dac_pro(void);

#endif
